package com.link.base.wechat.wxsubscriber.model;

import com.link.core.basic.model.BasicModel;

import java.util.List;

/**
 * 微信公众号用户基本信息对象
 *
 * @author ouyangzhenqiang
 * @date @date 2019/02/27 14:18
 */
public class Subscriber extends BasicModel {

    /**
     * 用户是否订阅该公众号标识，值为0时，代表此用户没有关注该公众号，拉取不到其余信息
     */
    private String subscribe;
    /**
     * 用户的标识，对当前公众号唯一
     */
    private String openid;
    /**
     * 用户的昵称
     */
    private String nickname;
    /**
     * 用户的性别，值为1时是男性，值为2时是女性，值为0时是未知
     */
    private String sex;
    /**
     * 用户所在城市
     */
    private String city;
    /**
     * 用户所在国家
     */
    private String country;
    /**
     * 用户所在省份
     */
    private String province;
    /**
     * 用户的语言，简体中文为zh_CN
     */
    private String language;
    /**
     * 用户头像
     */
    private String headimgurl;
    /**
     * 用户关注时间，为时间戳，如果用户曾多次关注，则取最后关注时间 -- 拉取粉丝信息时得到
     */
    private String subscribe_time;
    /**
     * 关注时间 -- 其他渠道得到，比如激活会员卡
     */
    private String subscribeTimeDate;
    /**
     * 只有在用户将公众号绑定到微信开放平台帐号后，才会出现该字段
     */
    private String unionid;
    /**
     * 公众号运营者对粉丝的备注，公众号运营者可在微信公众平台用户管理界面对粉丝添加备注
     */
    private String remark;
    /**
     * 用户所在的分组ID
     */
    private String groupid;
    /**
     * 用户被打上的标签ID列表
     */
    private List<String> tagId_list;
    /**
     * 返回用户关注的渠道来源
     * ADD_SCENE_SEARCH 公众号搜索，ADD_SCENE_ACCOUNT_MIGRATION 公众号迁移，ADD_SCENE_PROFILE_CARD 名片分享，
     * ADD_SCENE_QR_CODE 扫描二维码，ADD_SCENEPROFILE LINK 图文页内名称点击，ADD_SCENE_PROFILE_ITEM 图文页右上角菜单，
     * ADD_SCENE_PAID 支付后关注，ADD_SCENE_OTHERS 其他
     */
    private String subscribe_scene;
    /**
     * 二维码扫码场景（开发者自定义）
     */
    private String qr_scene;
    /**
     * 二维码扫码场景描述（开发者自定义）
     */
    private String qr_scene_str;
    /**
     * 微信公众号应用Id
     */
    private String wxAppId;
    /**
     * 微信公众号原始Id
     */
    private String ogId;
    /**
     * 最近活跃时间
     */
    private String lastActiveDt;
    /**
     * 来源 ：默认是公众号(OfficialAccounts)，暂时只是拿来区分是小程序还是公众号
     */
    private String source = "OfficialAccounts";
    /**
     * 客户Id
     */
    private Long accountId;
    /**
     * 客户唯一标识8位数字
     */
    private String accntSeq;
    /**手机号*/
    private String mobilePhone;

    public String getSubscribe() {
        return subscribe;
    }

    public void setSubscribe(String subscribe) {
        this.subscribe = subscribe;
    }

    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getLanguage() {
        return language;
    }

    public void setLanguage(String language) {
        this.language = language;
    }

    public String getHeadimgurl() {
        return headimgurl;
    }

    public void setHeadimgurl(String headimgurl) {
        this.headimgurl = headimgurl;
    }

    public String getSubscribe_time() {
        return subscribe_time;
    }

    public void setSubscribe_time(String subscribe_time) {
        this.subscribe_time = subscribe_time;
    }

    public String getSubscribeTimeDate() {
        return subscribeTimeDate;
    }

    public void setSubscribeTimeDate(String subscribeTimeDate) {
        this.subscribeTimeDate = subscribeTimeDate;
    }

    public String getUnionid() {
        return unionid;
    }

    public void setUnionid(String unionid) {
        this.unionid = unionid;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getGroupid() {
        return groupid;
    }

    public void setGroupid(String groupid) {
        this.groupid = groupid;
    }

    public List<String> getTagId_list() {
        return tagId_list;
    }

    public void setTagId_list(List<String> tagId_list) {
        this.tagId_list = tagId_list;
    }

    public String getSubscribe_scene() {
        return subscribe_scene;
    }

    public void setSubscribe_scene(String subscribe_scene) {
        this.subscribe_scene = subscribe_scene;
    }

    public String getQr_scene() {
        return qr_scene;
    }

    public void setQr_scene(String qr_scene) {
        this.qr_scene = qr_scene;
    }

    public String getQr_scene_str() {
        return qr_scene_str;
    }

    public void setQr_scene_str(String qr_scene_str) {
        this.qr_scene_str = qr_scene_str;
    }

    public String getWxAppId() {
        return wxAppId;
    }

    public void setWxAppId(String wxAppId) {
        this.wxAppId = wxAppId;
    }

    public String getOgId() {
        return ogId;
    }

    public void setOgId(String ogId) {
        this.ogId = ogId;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getAccntSeq() {
        return accntSeq;
    }

    public void setAccntSeq(String accntSeq) {
        this.accntSeq = accntSeq;
    }

    public String getLastActiveDt() {
        return lastActiveDt;
    }

    public void setLastActiveDt(String lastActiveDt) {
        this.lastActiveDt = lastActiveDt;
    }

    public Long getAccountId() {
        return accountId;
    }

    public void setAccountId(Long accountId) {
        this.accountId = accountId;
    }

    public String getMobilePhone() {
        return mobilePhone;
    }

    public void setMobilePhone(String mobilePhone) {
        this.mobilePhone = mobilePhone;
    }
}
